package com.spsoft.dmzeinvoice.service;

import com.spsoft.core.model.Result;
import com.spsoft.core.model.leqidmz.param.QueryUploadInvoiceStatusParam;
import com.spsoft.core.model.leqidmz.param.QueryUploadInvoiceSummaryParam;
import com.spsoft.core.model.leqidmz.param.UploadInvoiceParamDto;
import com.spsoft.core.model.leqidmz.param.UploadInvoiceSummaryParam;
import com.spsoft.core.model.leqidmz.response.BaseResponseVO;
import com.spsoft.core.model.leqidmz.response.QueryUploadInvoiceStatusVO;
import com.spsoft.core.model.leqidmz.response.QueryUploadInvoiceSummaryVO;
import com.spsoft.core.model.leqidmz.response.UploadInvoiceVO;

/**
 * 数电票业务相关接口
 */
public interface VmsInvoiceService {

    /**
     * 数电票上传
     * @param uploadDto
     * @return
     */
    Result<UploadInvoiceVO> uploadInvoice(UploadInvoiceParamDto uploadDto);

    /**
     * 查询数电票上传结果
     * @param param
     * @return
     */
    Result<QueryUploadInvoiceStatusVO> queryUploadInvoiceStatus(QueryUploadInvoiceStatusParam param);

    /**
     * 上传发票汇总确认信息
     * @param param
     * @return
     */
    Result<BaseResponseVO> uploadInvoiceSummary(UploadInvoiceSummaryParam param);

    /**
     * 查询发票汇总确认信息
     * @param param
     * @return
     */
    Result<QueryUploadInvoiceSummaryVO> queryUploadInvoiceSummary(QueryUploadInvoiceSummaryParam param);

}
